home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d949.lha / BBBBS / BBBBS65.lha / rexx / bbsSpeak.rexx < prev    next >
OS/2 REXX Batch file  |  1993-08-02  |  2KB  |  110 lines

  1. /* bbsSpeak.rexx 6.2 (2.8.93)
  2. Handles speach for BBBBS - Edit this file to your preferences.
  3. */
  4.  
  5. IF GETCLIP('BBS_NOISE')='OFF' THEN EXIT
  6. PARSE ARG com name bbspath saypath .
  7.  
  8. IF com='LOGON'        THEN CALL logon()
  9. IF com='CHAT'         THEN CALL chat()
  10. IF com='FILE_REQUEST' THEN CALL file_request()
  11. EXIT
  12.  
  13.  
  14. logon:
  15. sp1='Yo sissop.'
  16. sp2=TRANSLATE(name,' ','_')'.'
  17. sp3='has logged awon.'
  18. IF SHOWLIST('H','SPEAK') THEN
  19.   DO
  20.     IF writeopen('SPEAK:')~=0 THEN
  21.       DO
  22.         CALL WRITELN(f,sp1)
  23.         DO i=1 TO WORDS(sp2)
  24.           CALL DELAY(14)
  25.           CALL WRITELN(f,WORD(sp2,i))
  26.         END
  27.         CALL DELAY(14)
  28.         CALL WRITELN(f,sp3)
  29.         CALL CLOSE(f)
  30.       END
  31.   END
  32. ELSE IF EXISTS(saypath) THEN
  33.   DO
  34.     ADDRESS COMMAND saypath sp1
  35.     DO i=1 TO WORDS(sp2)
  36.       ADDRESS COMMAND saypath WORD(sp2,i)
  37.     END
  38.     ADDRESS COMMAND saypath sp3
  39.   END
  40. RETURN
  41.  
  42.  
  43. chat:
  44. CALL DELAY(100)
  45. sp1='Yo sissop.'
  46. sp2=TRANSLATE(name,' ','_')'.'
  47. sp3='wants to chat with you.'
  48. IF SHOWLIST('H','SPEAK') THEN  /* check on SPEAK: device */
  49.   DO
  50.     IF EXISTS(bbspath'BBS_TEXT/YELL') THEN /* we have yell file */
  51.       ADDRESS COMMAND 'C:Run C:Type >SPEAK:' bbspath'BBS_TEXT/YELL'
  52.     ELSE IF writeopen('SPEAK:')~=0 THEN
  53.       DO
  54.         CALL WRITELN(f,sp1)
  55.         DO i=1 TO WORDS(sp2)
  56.           CALL DELAY(14)
  57.           CALL WRITELN(f,WORD(sp2,i))
  58.         END
  59.         CALL DELAY(14)
  60.         CALL WRITELN(f,sp3)
  61.         CALL WRITELN(f,sp1)
  62.         CALL CLOSE(f)
  63.       END
  64.   END
  65. ELSE IF EXISTS(saypath) THEN          /* default to SAY */
  66.   DO
  67.     IF EXISTS(bbspath'BBS_TEXT/YELL') THEN /* we have yell file */
  68.       ADDRESS COMMAND 'C:Run' saypath '-x' bbspath'BBS_TEXT/YELL'
  69.     ELSE
  70.       DO
  71.         ADDRESS COMMAND saypath sp1
  72.         DO i=1 TO WORDS(sp2)
  73.           ADDRESS COMMAND saypath WORD(sp2,i)
  74.         END
  75.         ADDRESS COMMAND saypath sp3
  76.         ADDRESS COMMAND saypath sp1
  77.       END
  78.   END
  79. RETURN
  80.  
  81.  
  82. file_request:
  83. sp1='Yo sissop.'
  84. sp2='a file is being re kwested.'
  85. IF SHOWLIST('H','SPEAK') THEN
  86.   DO
  87.     IF writeopen('SPEAK:')~=0 THEN
  88.       DO
  89.         CALL WRITELN(f,sp1)
  90.         CALL WRITELN(f,sp2)
  91.         CALL CLOSE(f)
  92.       END
  93.   END
  94. ELSE IF EXISTS(saypath) THEN
  95.   DO
  96.     ADDRESS COMMAND saypath sp1
  97.     ADDRESS COMMAND saypath sp2
  98.   END
  99. RETURN
  100.  
  101.  
  102. writeopen:
  103. PARSE ARG fname
  104. CALL CLOSE(f)
  105. ok=OPEN(f,fname,'W')
  106. IF ok=0 THEN RETURN 0
  107. RETURN 1
  108.  
  109. /* bbsSpeak.rexx */
  110.